home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-06
/
novbat1.zip
/
NOVBAT.DOC
< prev
next >
Wrap
Text File
|
1992-07-25
|
85KB
|
3,626 lines
╔═══════════════════╗
║ ** N O V B A T ** ║
╚═══════════════════╝
A Novell Netware Batch File Enhancement Utility
[EVALUATION VERSION: Distribute Freely]
Designed and Developed by:
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█▀█▀█▀▀█▀▀█▀▀▀█▀▀▀█▀▀▀ H O R I Z O N S ▀▀▀▀█▀▀▀█▀▀▀█▀▀█▀▀█▀█▀█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Consulting ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
≡ 1432 E. Commercial Street ─ Springfield, MO 65803 USA ≡
≡ Phone:(417) 839-2174, Fax:(417) 831-1329, BBS:(417) 831-9140 ≡
CompuServe ID: 72557,3645
────────────────────────────────────────────────────────────
Copyright (C) 1992 by Horizons Consulting
All Rights Reserved * Revision 1.06E * Release Date 07/25/92
────────────────────────────────────────────────────────────
Horizons Consulting is a registered Novell Professional
Developer tm and has developed NovBat with Cooperation and
assistance provided by Novell Incorporated.
COPYRIGHT:
This manual and all accompanying software are copyrighted and all
rights are reserved. The evaluation version of NovBat may be
freely distributed for the purpose of suitability testing only.
If, after a 2 week testing period, you determine NovBat to be of
value to your operation, purchase is required. This evaluation
version does contain an intermittent information screen to indi-
cate that this in only for testing and not for production use.
The commercial version does not contain this prompt screen.
NovBat is a trademark of Horizons Consulting.
ACKNOWLEDGMENTS:
The author would like to thank the following people for helping
to make this product possible:
The Novell Netwire users, from whom the inspiration for
NovBat originated.
Harvey Jamison for proofreading and listening to a lot of
sometimes boring concepts.
Borland for continuing to provide high quality development
tools at a fair price.
And to all the users who purchase the program, a special
thank you.
TECHNICAL SUPPORT:
If you have difficulty understanding or using NovBat, we are
available to provide any assistance you need. Product support is
provided in several ways. First, you can call our switchboard at
(417) 839-2174. Our technical support staff will answer your
questions as quickly as possible. Secondly, technical support is
also available on Compuserve. Feel free to leave questions or
comments to Account #72557,3645. We will normally respond to
CompuServe messages within 24 hours.
We also have a 24-hour product support BBS. This allows
users with modems to leave questions about support issues. The
BBS number is (417) 831-9140. It supports 2400 and 1200 baud
modems. Use 8 bit, No parity, 1 stop bit (8N1) to call in. You
can leave questions and comments about NovBat, check for the
latest version, read how others are using NovBat on their net-
works, and download evaluation versions of our other products.
BACKGROUND:
NovBat was developed in the fall 1991. Ever since getting
into networking, I've been surprised by the lack of Netware
support available from batch files. After noticing several other
statements to that effect on the Netwire forum of Compuserve, I
decided to do something about it. What was needed was an easy
method of allowing batch files to ask Netware for the wealth of
information about the operating environment that constitutes the
net. NovBat is the result of these efforts.
While you can execute NovBat from the DOS command line, it
was developed for use in batch files. NovBat allows your batch
files to query the Netware operating system for information. The
results of these queries can then be used to modify a users
environment, an applications configuration, or whatever your
environment requires.
COMPATIBILITY:
NovBat was designed for and is compatible with Novell Net-
ware. It is not designed to work in conjunction with any other
network operating systems. It is NOT compatible with Netware
Lite, which is the limited peer to peer connectivity product from
Novell. At the time of this writing Novell has not offered
developers access to the Netware Lite internals which are re-
quired to make NovBat compatible with this product. NovBat is
compatible with all versions of DOS since 3.0.
WHAT IS NOVBAT?
NovBat is a program that gives you the ability to ask Novell
Netware for specific information about many aspects of the net-
work. This data ranges from information about the user, group
memberships, servers, and network addresses to local-hardware-
specific information. By using NovBat you can develop network
intelligent batch files. There are many instances where the use
of NovBat will save time and effort. If you find yourself in a
situtation where you would like to see something added to NovBat,
give us a call. It might warrant another command or perhaps a
slight aberration of an existing command. We are interested in
making sure that NovBat is a package that network users want to
use! It is from user feedback that the best products develop.
HOW DO I USE NOVBAT?
Using NovBat is not difficult. NovBat has 47 commands where
each do a very specific type of query from the Netware operating
system. Many of these commands have additional parameters. A
complete description of each NovBat command will be provided
later.
The NovBat commands are divided into two groups. The first
group is called the "ERRORLEVEL" group because these commands
return an ERRORLEVEL status code to your batch file. The second
group is called the "ENVIRONMENT" group because these commands
place their results into the environment space for later refer-
ence by either your batch files or other applications.
The "ERRORLEVEL" commands all return a standard set of
ERRORLEVEL codes. When a given NovBat query is processed there
are three possible ERRORLEVEL codes: 1 for True, 0 for False,
and 255 for Error Condition. These are the only ERRORLEVEL codes
that NovBat will generate.
The Novbat "ENVIRONMENT" commands, in addition to placing
their results into the environment area, will exit with an ERROR-
LEVEL code of 0 unless there was an Error in which case an ERROR-
LEVEL of 255 will be generated.
Since both groups of commands always return an ERRORLEVEL
code of 255 in the event of problems, we recommend you design
your batch files to trap an ERRORLEVEL 255. Some errors are
important enough that NovBat will display its own error messages
in addition to returning the 255 error code.
The "ENVIRONMENT" commands normally place their results into
an environment variable called "NOVBAT=", but you can override
this default and specify your own environment variable by simply
adding the name of the desired environment variable as an extra
parameter at the end of any NovBat "ENVIRONMENT" command.
THE NOVBAT COMMAND LINE:
The legal syntax for using NovBat is:
NOVBAT command [parameter1] [parameter2]
Where command is one of the 47 legal NovBat commands. (See
Appendix A for a summary list of all the legal NovBat commands)
The parameter elements of a command vary according to which
command is being used. Some commands do not need any parameters.
In some cases parameters are required and sometimes they are
optional. Never are more than two parameters required. NovBat
commands and parameters are not case sensitive; that is, the
expressions "NOVBAT SizeOfGroup everyone" and "NOVBAT sizeofgroup
EVERYONE" are considered the to be the same command.
You can generate a list of all the legal NovBat commands at
any time by typing: "NOVBAT /?" or "NOVBAT HELP".
While most of the commands that make up NovBat require that
you be using Novell Netware, a few do not. These commands pro-
vide information about such things as your DOS version, memory
sizes and usage, video type, processor, and other system-specific
parameters. If your workstation also has local capabilities,
feel free to use these NovBat commands to your benefit even when
you are not attached to the network.
In the section that follows, each command in completely and
independently documented in alphabetical order. Those commands
that will function independent of Netware are so indicated. If
you have any questions or comments regarding NovBat, or this
documentation, please feel free to give us a call at (417) 839-
2174.
DoesGroupExist?
______________________________________________________________________
Function: Verifies the existence of a specified Netware group.
Syntax: NOVBAT DoesGroupExist? NameOfGroup
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Sometimes it is useful to verify the existence of a given
Group; the DoesGroupExist command will accomplish this. You
must be logged into the server to use this command.
See Also: DoesGroupHaveMember?, SetSizeOfGroup
Example:
:Start
@ECHO OFF
NOVBAT DoesGroupExist? %1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GotGroup
:NoGroup
ECHO Sorry, Group Does Not Exist.
goto End
:GotGroup
ECHO Yes, That Group Does Exist.
goto End
:Error
ECHO You Got a problem here. Try Logging In First!
:End
______________________________________________________________________
DoesGroupHaveMember?
______________________________________________________________________
Function: Verifies that a user is a member of a specified group.
Syntax: NOVBAT DoesGroupHaveMember? NameOfGroup NameOfUser
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command has one required and one optional parameter.
The first parameter, NameOfGroup, is required and should be
a valid group name. The second parameter, NameOfUser, is
optional. If absent NOVBAT will assume the current user
<Self> as the name to look up. You must be logged in to use
this command.
See Also: DoesGroupExist?, SetSizeOfGroup
Example:
:Start
@ECHO OFF
NOVBAT DoesGroupHaveMember? ACCOUNTING %name%
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto IsMember
:NotMember
ECHO Only Accounting Dept. can access this function!
goto End
:IsMember
ECHO ACCOUNTING ACCESS GRANTED.
map k:=f:\ACCOUNTING
goto End
:Error
ECHO Sorry, but you not logged in I'm Afraid!
:End
______________________________________________________________________
DoesUserExist?
______________________________________________________________________
Function: Verifies that a given name has a user account.
Syntax: NOVBAT DoesUserExist? NameOfUser
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The DoesUserExist? command verifies the existence of a given
user. The parameter NameOfUser is required. The user being
searched for does not need to be logged in; however, you
must be logged in to use this command.
See Also: IsUserLoggedIn?, IsUserDuplicated?
Example:
:Start
@ECHO OFF
NOVBAT DoesUserExist? %1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Exists
:NotExist
ECHO Sorry, But No User by that name on this Net.
goto End
:Exists
ECHO Yes, That User has an Account.
goto End
:Error
ECHO Sorry, but you not logged in I'm Afraid!
:End
______________________________________________________________________
IsAttached?
______________________________________________________________________
Function: Verifies that user is attached to a specific server.
Syntax: NOVBAT IsAttached? ServerName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Being "ATTACHED" to a file server does not mean that a user
is logged into that server. The IsAttached? command will
indicate if a user is attached to any given server name.
The ServerName parameter is required and is not case sensi-
tive. You do not need to be logged into the server you are
checking, but you do need to have IPX and your Net Shell
loaded to avoid an error.
See Also:
IsDefaultServer?, IsPrimaryServer?, SetDefaultServer,
SetPrimaryServer
Example:
:Start
NOVBAT IsAttached? ACCOUNTING
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto FoundAccounting
:NoAccounting
ECHO Your not Attached to the ACCOUNTING Server.
goto End
:FoundAccounting
ECHO You Are Attached to the ACCOUNTING SERVER.
goto End
:Error
ECHO ERROR: Try loading your IPX & Net Shell!
:End
______________________________________________________________________
IsCPU?
______________________________________________________________________
Function: This command confirms your processor type.
Syntax: NOVBAT IsCPU? CPUName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
In some instances it is useful to confirm a user's processor
type. You might want, for example, to install QEMM on all
the 386 systems on the net. The IsCPU? command will return
a true response only when the parameter CPUName matches the
CPU type of the system. The legal options for CPUName are
8088, 286, 386, and 486. Any other string will generate an
error result code. If you are using a V20, 8086, or other
clone-type XT processor, it will be interpreted as an 8088.
The parameter CPUName is required. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: SetCPU
Example:
:Start
@ECHO OFF
NOVBAT IsCPU? 386
If ErrorLevel 1 goto GoQEMM
NOVBAT IsCPU? 486
If ErrorLevel 1 goto GoQEMM
:NoQEMM
goto End
:GOQEMM
CALL GOQEMM.BAT
:End
______________________________________________________________________
IsDefaultServer?
______________________________________________________________________
Function: This command verifies your default server.
Syntax: NOVBAT IsDefaultServer? ServerName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
There are times when it is useful to confirm that your
default server is a specific server. This is especially
important in a multiserver environment. The use of the
IsDefaultServer? command makes this possible. The parameter
ServerName is required.
See Also:
IsAttached?, IsPrimaryServer?, SetDefaultServer,
SetPrimaryServer
Example:
:Start
@ECHO OFF
NOVBAT IsDefaultServer? ENGINEERING
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Confirmed
:NotConfirmed
ECHO ENGINEERING isn't your current default server.
goto End
:Confirmed
ECHO Yes, ENGINEERING is your current default server.
goto End
:Error
ECHO ERROR: Try loading your IPX & Net Shell!
:End
______________________________________________________________________
IsDOSVer?
______________________________________________________________________
Function: Verifies your DOS version number.
Syntax: NOVBAT IsDOSVer? VersionNum
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
If you operate in an environment that supports multiple
versions of DOS, it can be useful to verify your DOS ver-
sion. The IsDOSVer? command does this. The VersionNum
parameter requires that the version number be expressed
without use of the period. For Example, if you are testing
for DOS 3.30 then you must express VersionNum as "330".
This command only returns true when you have an exact match
on the DOS version number. SPECIAL NOTE: This command does
not require Netware and can be used in a non-network envi-
ronment.
See Also: IsDOSVerSince?, SetDOSVer
Example:
:Start
NOVBAT IsDOSVer? 401
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Running401
:Opps
ECHO Sorry, you need DOS 4.01 for this option.
goto End
:Running401
ECHO DOS 4.01 Confirmed. Please hold for access.
; Access to application goes here!
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsDOSVerSince?
______________________________________________________________________
Function: Confirms your DOS is as recent as specified version.
Syntax: NOVBAT IsDOSVerSince? VersionNum
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Some applications require that your version of DOS be at
least as recent as a specific version. In a multi-DOS
environment it is sometimes important to insure that a user
is running a version of DOS that is at least as new as a
specified version. The parameter VersionNum requires that
the period be dropped (See the IsDOSVer? command). This
command returns True if the current version of DOS is equal
to or newer than the specified version. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: IsDOSVer?, SetDOSVer
Example:
:Start
NOVBAT IsDOSVerSince? 300
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto AtLeast3
:NotRightDos
ECHO Sorry, You need DOS 3.00 or newer for this option.
goto End
:AtLeast3
ECHO DOS 3.00 or newer confirmed, hold for access.
; Access to application goes here!
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsFreeEMS@Least?
______________________________________________________________________
Function: This command confirms the amount of available EMS RAM.
Syntax: NOVBAT IsFreeEMS@Least? NumberOfK
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Since some applications need to use EMS memory, it can be
useful to check to insure that enough EMS is currently
available for certain programs. This command returns true
if the amount of EMS available is at least equal to the
parameter NumberOfK. SPECIAL NOTE: This command does not
require Netware and can be used in a non-network environ-
ment.
See Also: IsTotalEMS@Least?, SetFreeEMS, SetTotalEMS
Example:
:Start
NOVBAT IsFreeEMS@Least? 145
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GotEMS
:NotEnoughEMS
ECHO Sorry, You need more EMS Memory to use SwapSK.
goto End
:GotEMS
ECHO Sufficient EMS confirmed, hold for SWAPSK.
SwapSK ;Puts Sidekick into EMS memory!
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsFreeRAM@Least?
______________________________________________________________________
Function: This command confirms the amount of unused system RAM.
Syntax: NOVBAT IsFreeRAM@Least? NumberOfK
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
With heavy use of TSR programs, sometimes there is not
enough unused system RAM for larger programs to function
properly. The IsFreeRAM@Least? command verifies that suffi-
cient RAM is available before you execute a given applica-
tion. This command returns true if the amount of unused RAM
is at least equal to the parameter NumberOfK. SPECIAL NOTE:
This command does not require Netware and can be used in a
non-network environment.
See Also: IsTotalRAM@Least?, SetFreeRAM, SetTotalRAM
Example:
:Start
@ECHO OFF
NOVBAT IsFreeRAM@Least? 512
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GotRAM
:NotEnoughRAM
ECHO Not Enough Memory, Try Unloading some TSR's!
goto End
:GotRAM
ECHO Loading... Please wait..
BigProgram.exe ;Execute Application
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsFullName?
______________________________________________________________________
Function: This command verifies your full Novell User Name.
Syntax: NOVBAT IsFullName? FullNameString [UserName]
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command is used to verify the full name of any user.
There are two possible parameters for this command. The
first parameter, FullNameString, is required and is the
Novell full name of a user as defined by SYSCON. The second
parameter is optional and specifies which user to check the
full name against; if absent then the current user <Self> is
assumed. When specifying the full name, replace any embed-
ded spaces with the underline "_" character. For example
the name "George Bush" should be expressed as "George_Bush".
This command only returns true if the full name compare is
an exact match. The name compare is not case-sensitive.
See Also: SetFullName
Example:
:Start
NOVBAT IsFullName? "George_Herbert_Walker_Bush"
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Confirmed
:NotThePresident
ECHO Access restricted to the Presidents Eyes Only!
goto End
:Confirmed
ECHO Thank you Mr. President.
PORKBARL.EXE ;Execute Application
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsMailID?
______________________________________________________________________
Function: This command verifies your Novell Mail User ID.
Syntax: NOVBAT IsMailID? MailIDString UserName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command is used to verify the Novell Mail ID of any
user. There are two possible parameters for this command.
The first parameter, MailIDString, is required and is the
actual Mail ID of a user. The second parameter is optional
and specifies which user to check the Mail ID String
against; if absent then this user <Self> is assumed. This
command only returns true if the Mail ID string compare is
an exact match. The name compare is not case-sensitive.
See Also: SetMailID
Example:
:Start
NOVBAT IsMailID? 1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Confirmed
:NotTheSupervisor
ECHO Sorry, Supervisor Access Only!
goto End
:Confirmed
SYSCON.EXE ;Execute Application
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsMaxUsers?
______________________________________________________________________
Function: Verifies Max. number of users allowed by your Netware.
Syntax: NOVBAT IsMaxUsers? Number
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command allows you to determine the maximum number of
users your version of Netware can concurrently support.
Netware is sold in versions that support a wide number of
users; with this NovBat command you can conveniently check
this limit. The parameter Number is required.
See Also: IsUsers@Least?, SetMaxUsers, SetUsersLoggedIn
Example:
:Start
NOVBAT IsMaxUsers? 250
If ErrorLevel 1 goto WayToGo
NOVBAT IsMaxUsers? 100
If ErrorLevel 1 goto NotBad
:CouldBeBetter
ECHO Next time get a bigger Network!
goto End
:WayToGo
ECHO All Right! Now thats real power!
goto End
:NotBad
ECHO Looks like a pretty good situtation.
:End
______________________________________________________________________
IsMessageMode?
______________________________________________________________________
Function: Verifies your current Message Receive Mode.
Syntax: NOVBAT IsMessageMode? ModeType
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The Netware SEND command allows users to send messages to
each other, and receiving users have the ability to block
incoming messages. The IsMessageMode? command will verify
which receive mode you are in. The modes are: "ALL" where
all messages are displayed, "SERVER" where only server
messages are accepted, and "NONE" where no messages are
accepted. The parameter ModeType must be set to either ALL,
SERVER, or NONE.
See Also: SetMessageMode
Example:
:Start
NOVBAT IsMessageMode? ALL
If ErrorLevel 1 goto ModeAll
NOVBAT IsMessageMode? SERVER
If ErrorLevel 1 goto ModeServer
:ModeNone
ECHO No messages are currently being accepted.
goto End
:ModeAll
ECHO All messages are being accepted.
goto End
:ModeServer
ECHO Only SERVER messages are being accepted.
goto End
:End
______________________________________________________________________
IsNetNum?
______________________________________________________________________
Function: Verifies the network number you are connected to.
Syntax: NOVBAT IsNetNum? Number
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The IsNetNum? command is used to verify the network number
you are connected to. Many large companies have multiple
nets with a common backbone. In this environment you might
want to restrict users to accessing certain functions from
some nets and not others. The parameter Number must be from
1 to 255.
See Also: IsNodeNum?, IsStationAddress?, SetNetNum, SetNodeNum,
SetStationAddress
Example:
:Start
NOVBAT IsNetNum? 254
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto HomeNet
:NotOnHomeNet
ECHO Please return to your home net for this option.
goto End
:HomeNet
EMAIL
goto End
:Error
ECHO ERROR: Try Logging in first.
:End
______________________________________________________________________
IsNetwareVer?
______________________________________________________________________
Function: Verifies your Novell Netware version number .
Syntax: NOVBAT IsNetwareVer? VersionNum
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
In a large multi-lan environment it is possible to be to
attached to several servers with multiple versions of Novell
Netware. There are times when it might be convenient to
verify which version of Netware you are currently using.
The IsNetwareVer? command does this. Please note that the
parameter VersionNum is a Netware version number expressed
without any periods. For example, Netware 3.11 needs to be
expressed as 311.
See Also: SetNetwareVer
Example:
:Start
NOVBAT IsNetwareVer? 311
If ErrorLevel 1 goto Best
NOVBAT IsNetwareVer? 215
If ErrorLevel 1 goto Better
:ModeOK
ECHO Running Netware.
goto End
:Better
ECHO Running Netware 2.15.
goto End
:Best
ECHO Running Netware 386 Ver 3.11.
:End
______________________________________________________________________
IsNodeNum?
______________________________________________________________________
Function: This command verifies your station's node number.
Syntax: NOVBAT IsNodeNum? Number
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
There are times when, for security reasons, you may want to
verify that a user is logged into a specific workstation.
The IsNodeNum? command provides a mechanism for accomplish-
ing this. The parameter Number is the node number to test.
Please note that the Number parameter is a Hexadecimal
number, not decimal.
See Also: IsNetNum?, IsStationAddress?, SetNetNum, SetNodeNum,
SetStationAddress
Example:
:Start
NOVBAT IsNodeNum? 15
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto HomeStation
:NotAtHome
ECHO You must be at YOUR workstation to access EMAIL.
goto End
:HomeStation
EMAIL.EXE ;Access Application
goto End
:Error
ECHO ERROR: Invalid Parameter.
:End
______________________________________________________________________
IsPrimaryServer?
______________________________________________________________________
Function: This command verifies the name of your primary server.
Syntax: NOVBAT IsPrimaryServer? ServerName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
In larger Multi-Server corporations, some users will access
several file servers in a single operating session. It is
useful to be able to verify that their Primary server is the
expected server. The required parameter ServerName is the
Name string of the server to test; if absent an error will
result.
See Also: IsAttached?, IsDefaultServer?, SetDefaultServer,
SetPrimaryServer
Example:
:Start
@ECHO OFF
NOVBAT IsPrimaryServer? HORIZONS
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto OnHorizons
:NotHorizons
ECHO Primary Server isn't HORIZONS. Please correct.
goto End
:OnHorizons
ECHO Thank You. You are on server: HORIZONS.
goto End
:Error
ECHO ERROR: Invalid Parameter(s)!
:End
______________________________________________________________________
IsSecurityEquiv?
______________________________________________________________________
Function: This command compares your security equivalences.
Syntax: NOVBAT IsSecurityEquiv? GroupOrUser UserName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
It can be useful to verify if a user has a particular secu-
rity equivalence. You might want only supervisor equivalent
users to have a menu option to run SYSCON, for example.
This command allows you to verify if a user is equivalent to
another user or a group. This command has one required
parameter GroupOrUser and one optional parameter UserName.
If the UserName parameter is missing then NovBat will assume
the current user <Self>.
See Also: None
Example:
:Start
NOVBAT IsSecurityEquiv? Supervisor %1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GoSup
:NotSup
ECHO No, that user is not Supervisor Equivalent.
goto End
:GoSup
ECHO Yes, that user is Supervisor Equivalent.
goto End
:Error
ECHO ERROR: Are you logged in?
:End
______________________________________________________________________
IsStationAddress?
______________________________________________________________________
Function: This command verifies your computer's station address.
Syntax: NOVBAT IsStationAddress? AddressString
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The IsStationAddress? command will verify your workstation's
address against the address specified in the parameter
AddressString. The syntax for this required parameter is
Network number:Node number. The Node number portion of the
argument needs to be expressed as a Hexadecimal number. For
example, if you are connected to Network # 250 and your Node
number is 100 decimal, then the proper syntax for Address-
String is 250:64.
See Also: IsNetNum?, IsNodeNum?, SetNetNum, SetNodeNum,
SetStationAddress
Example:
:Start
@ECHO OFF
NOVBAT IsStationAddress? 254:5
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto AtHome
:NotAtHome
ECHO Please return to your desk before using EMAIL.
goto End
:AtHome
EMAIL.EXE ;Execute Application
goto End
:Error
ECHO ERROR: Please Login before sending EMAIL!
:End
______________________________________________________________________
IsTotalEMS@Least?
______________________________________________________________________
Function: Confirms the amount of EMS RAM your workstation has.
Syntax: NOVBAT IsTotalEMS@Least? NumberOfK
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Since some applications can take advantage of EMS memory, it
can be useful to verify if a given workstation contains
enough EMS to execute certain applications. This command
returns true if the amount of EMS installed is at least
equal to the parameter NumberOfK. This command does not
insure that the EMS memory is currently unused by other
applications. SPECIAL NOTE: This command does not require
Netware and can be used in a non-network environment.
See Also: IsFreeEMS@Least?, SetFreeEMS, SetTotalEMS
Example:
:Start
@ECHO OFF
NOVBAT IsTotalEMS@Least? 1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GotEMS
:NoEMS
ECHO Sorry, You need EMS Memory to use this Program.
goto End
:GotEMS
ECHO EMS Memory Present, please hold.
EMSAPP.EXE ;Application requiring EMS
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsTotalRAM@Least?
______________________________________________________________________
Function: Confirms the amount of system RAM your system has.
Syntax: NOVBAT IsTotalRAM@Least? NumberOfK
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Since some applications require large amounts of system RAM,
it can be useful to verify if a given workstation contains
enough RAM before attempting to execute these programs. The
IsTotalRAM@Least? command returns true if the amount of
system RAM installed is at least equal to the parameter
NumberOfK. This command does not insure that the RAM is
currently unused by other applications. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: IsFreeRAM@Least?, SetFreeRAM, SetTotalRAM
Example:
:Start
@ECHO OFF
NOVBAT IsTotalRAM@Least? 512
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto GotLotsOfRam
:NotEnoughRam
ECHO You need at least 512k of Ram for this Program.
goto End
:GotLotsOfRam
BIGPRGM.EXE ;App requiring at least 512k of RAM.
goto End
:Error
ECHO ERROR: Illegal parameter syntax!
:End
______________________________________________________________________
IsUserDuplicated?
______________________________________________________________________
Function: Indicates if user is logged into more than 1 station.
Syntax: NOVBAT IsUserDuplicated? UserName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The IsUserDuplicated? command can be used to restrict users
from logging into multiple workstations without first log-
ging off of their previous system. The security risks
associated with a user leaving workstations logged in is
obvious. The parameter UserName is optional but if present
should be a valid user name. If absent the current user
<Self> is assumed. This command returns True if the user in
question is currently logged into two or more workstations.
See Also: IsUserLoggedIn?
Example:
; Portion of a possible login Script
NOVBAT SetUserName Name
NOVBAT IsUserDuplicated? %Name%
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto TwoMany
:AllsFine
goto ExitScript
:TwoMany
ECHO Sorry, already logged into another computer.
ECHO You must logoff the previous system before logging
ECHO into this system.
goto ExitScript
:Error
ECHO NOVBAT Error: Report it to system Supervisor!
:ExitScript
______________________________________________________________________
IsUserLoggedIn?
______________________________________________________________________
Function: Indicates if a particular user is currently logged in.
Syntax: NOVBAT IsUserLoggedIn? UserName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command is used to determine if the user indicated by
the UserName parameter is currently logged into the network.
If this parameter is missing then the current user <Self> is
assumed.
See Also: IsUserDuplicated?
Example:
:Start
@ECHO OFF
NOVBAT IsUserLoggedIn? %1
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto YesGotUser
:NoUserIsNotOnLine
ECHO Sorry, that User Is Not Available At this Time.
goto End
:YesGotUser
send %1 %2
goto End
:Error
ECHO Error: You must be logged in to use this command.
:End
______________________________________________________________________
IsUserName?
______________________________________________________________________
Function: This command verifies your user name.
Syntax: NOVBAT IsUserName? UserName
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
The parameter UserName is required. This command returns
True only if the user name of the current user and the
parameter are an exact match. The name compare is not case-
sensitive.
See Also: SetUserName
Example:
:Start
@ECHO OFF
NOVBAT IsUserName? FAX
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto IsFax
:NotFax
ECHO Sorry, This program can only be executed by the
ECHO automatic FAX server.
goto End
:IsFax
FAXPURGE.EXE ;Application Goes Here
goto End
:Error
ECHO NovBat Error: Report it to system Supervisor!
:End
______________________________________________________________________
IsUsers@Least?
______________________________________________________________________
Function: Confirms number of users currently logged into net.
Syntax: NOVBAT IsUsers@Least? Number
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
This command is used to confirm that the number of users
logged into the network is above a minimum threshold. By
Starting with a larger threshold and working down, network
usage can be categorized. This condition returns True
whenever the number of users logged into the Net is at least
equal to the parameter Number.
See Also: SetUsersLoggedIn
Example:
:Start
NOVBAT IsUsers@Least? 200
If ErrorLevel 1 goto Heavy
NOVBAT IsUsers@Least 100
If ErrorLevel 1 goto Moderate
:Light
ECHO Network Usage is currently light. (< 100 Users)
goto End
:Heavy
ECHO Network Usage is Heavy. ( 200 and >)
goto End
:Moderate
ECHO Network Usage is Moderate. (100-200 Users)
goto End
:End
______________________________________________________________________
IsVideo?
______________________________________________________________________
Function: This command verifies your Graphics Adapter Type.
Syntax: NOVBAT IsVideo? VideoType
Response Type: ERRORLEVEL (Codes: 1=True, 0=False, 255=Error)
Remarks:
Since different workstations on the net will have varying
display adapters, it can be useful to determine which adapt-
er type a particular system has for the purpose of selecting
the correct software drivers for that system. This command
compares the adapter type to the current system, returning
True if there is a match. The legal options for the Video-
Type parameter are MGA or HERC, CGA, MCGA, EGA, VGA, and
PGA. Any other string will generate an error. SPECIAL
NOTE: This command does not require Netware and can be used
in a non-network environment.
See Also: SetVideo
Example:
:Start
@ECHO OFF
NOVBAT IsVideo? MGA
If ErrorLevel 255 goto Error
If ErrorLevel 1 goto Mono
:Color
SPREAD_C.EXE ;Color Configured Version of Program.
goto End
:Mono
SPREAD_M.EXE ;Mono Configured Version of Program.
goto End
:Error
ECHO NovBat Error: Illegal Parameter!
:End
______________________________________________________________________
SetCPU
______________________________________________________________________
Function: Sets an environment variable to the type of CPU.
Syntax: NOVBAT SetCPU [VarName]
Response Type: ENVIRONMENT
Remarks:
This command stores your processor type into the specified
environment variable. The possible result strings are
8088, 286, 386, and 486. SPECIAL NOTE: This command does
not require Netware and can be used in a non-network envi-
ronment.
See Also: IsCPU?
Example:
:Start
@ECHO OFF
NOVBAT SetCPU CPU
If ErrorLevel 255 goto Error
NOVBAT SetName
If ErrorLevel 255 goto Error
ECHO ------------------------------------------
ECHO User: %NovBat% - Using a %CPU%.
ECHO ------------------------------------------
set CPU=
set NovBat=
goto End
:Error
ECHO NovBat Error: Alert your system supervisor!
:End
______________________________________________________________________
SetDefaultServer
______________________________________________________________________
Function: Sets environment variable to name of default server.
Syntax: NOVBAT SetDefaultServer [VarName]
Response Type: ENVIRONMENT
Remarks:
This command reads the name of your default server and
places it into an environment variable called "NOVBAT"
unless you have specified the optional VarName parameter in
which case the variable name will match the parameter.
Sufficient environment space needs to be available to avoid
an error. If enough environment space is not available
NovBat will display a warning indicating so and abort the
command without attempting to write the new data into the
environment. Any previous data in the environment with the
same name will be lost.
See Also: IsDefaultServer?, IsPrimaryServer?, SetPrimaryServer
Example:
:Start
NOVBAT SetUserName Name
If ErrorLevel 255 goto Error
NOVBAT SetDefaultServer
If ErrorLevel 255 goto Error
ECHO -----------------------------------------------
ECHO User: %Name% - Attached to server: %NovBat%.
ECHO -----------------------------------------------
set Name=
set NovBat=
goto End
:Error
ECHO NovBat Error: Alert your system supervisor!
:End
______________________________________________________________________
SetDOSVer
______________________________________________________________________
Function: Sets environment variable to current DOS Ver. Number.
Syntax: NOVBAT SetDOSVer [VarName]
Response Type: ENVIRONMENT
Remarks:
This command places your current DOS version number into an
environment variable. Note that the period in the version
number is dropped. If your DOS is version 5.00 then the
environment variable will be set to 500. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: IsDOSVer?, IsDOSVerSince?
Example:
:Start
@ECHO OFF
NOVBAT SetDosVer
If ErrorLevel 255 goto Error
ECHO -----------------------------------------------
ECHO You are using DOS Version %NovBat%.
ECHO -----------------------------------------------
set NovBat=
goto End
:Error
ECHO NovBat Error: Alert your system supervisor!
:End
______________________________________________________________________
SetFreeEMS
______________________________________________________________________
Function: Sets environment variable to amount of unused EMS RAM.
Syntax: NOVBAT SetFreeEMS [VarName]
Response Type: ENVIRONMENT
Remarks:
This command determines how many k of unused EMS RAM exists
in the workstation and sets an environment variable accord-
ingly. SPECIAL NOTE: This command does not require Netware
and can be used in a non-network environment.
See Also: IsFreeEMS@Least?, IsTotalEMS@Least?, SetTotalEMS
Example:
:Start
@ECHO OFF
NOVBAT SetFreeEMS EMSAVAIL
NOVBAT SetTotalEMS EMSTOTAL
NOVBAT SetFreeRAM RAMAVAIL
NOVBAT SetTotalRAM RAMTOTAL
ECHO ---------------] Memory Summary [-----------------
ECHO EMS: %EMSTOTAL%, Avail: %EMSAVAIL%.
ECHO RAM: %RAMTOTAL%, Avail: %RAMTOTAL%.
ECHO --------------------------------------------------
set EMSAVAIL=
set EMSTOTAL=
set RAMAVAIL=
set RAMTOTAL=
:End
______________________________________________________________________
SetFreeRAM
______________________________________________________________________
Function: Sets environment variable to amount of unused RAM.
Syntax: NOVBAT SetFreeRAM [VarName]
Response Type: ENVIRONMENT
Remarks:
This command determines how many k of unused system RAM
exists in the workstation and sets an environment variable
accordingly. SPECIAL NOTE: This command does not require
Netware and can be used in a non-network environment.
See Also: IsFreeRAM@Least?, IsTotalRAM@Least?, SetTotalRAM
Example:
:Start
@ECHO OFF
NOVBAT SetFreeEMS EMSAVAIL
NOVBAT SetTotalEMS EMSTOTAL
NOVBAT SetFreeRAM RAMAVAIL
NOVBAT SetTotalRAM RAMTOTAL
ECHO ---------------] Memory Summary [----------------
ECHO EMS: %EMSTOTAL%, Avail: %EMSAVAIL%.
ECHO RAM: %RAMTOTAL%, Avail: %RAMTOTAL%.
ECHO -------------------------------------------------
set EMSAVAIL=
set EMSTOTAL=
set RAMAVAIL=
set RAMTOTAL=
:End
______________________________________________________________________
SetFullName
______________________________________________________________________
Function: Sets environment variable to Netware full user name.
Syntax: NOVBAT SetFullName [VarName]
Response Type: ENVIRONMENT
Remarks:
This command sets an environment variable to the full user
name. Please note that all embedded spaces are converted to
the underline "_" character. For example the full name
"Christopher M. Columbus" is converted to
"CHRISTOPHER_M._COLUMBUS".
See Also: IsFullName?, SetUserName
Example:
:Start
@ECHO OFF
NOVBAT SetFullName FNAME
If ErrorLevel 255 goto Error
ECHO -----------------------------------------------
ECHO Your Full UserName is: %FNAME%.
ECHO -----------------------------------------------
set FNAME=
goto End
:Error
ECHO --------------------------------------------
ECHO NovBat ERROR: Alert your Lan Administrator!
ECHO --------------------------------------------
:End
______________________________________________________________________
SetMailID
______________________________________________________________________
Function: Sets environment variable to your user mail ID.
Syntax: NOVBAT SetMailID [VarName]
Response Type: ENVIRONMENT
Remarks:
When a user account is first created with Netware the system
assigns a mail ID code. A subdirectory off the \MAIL direc-
tory is created for this user with the same name as this
mail ID. Many software packages take advantage of this
unique directory provision of Netware to make user specific
temporary files. By using the SetMailID command you can
take advantage of this feature of Netware in your batch
files and login scripts. This command generates an environ-
ment variable set to the unique user mail ID of the current
user.
See Also: IsMailID?
Example:
:Start
@ECHO OFF
NOVBAT SetUserName Name
If ErrorLevel 255 goto Error
NOVBAT SetMailID Mail
If ErrorLevel 255 goto Error
map L: = \mail\%Mail% ;Drive L for temporary files.
ECHO User %Name%'s Mail ID Code is: %Mail%.
set Mail=
set Name=
goto End
:Error
ECHO NovBat ERROR: Please check your login status!
:End
______________________________________________________________________
SetMaxUsers
______________________________________________________________________
Function: Sets environment var to Max # of users Netware allows.
Syntax: NOVBAT SetMaxUsers [VarName]
Response Type: ENVIRONMENT
Remarks:
Since Novell Netware is now sold in versions of varying
capacity, it is sometimes useful to know what size Netware
you are using. The SetMaxUsers command will create an
environment variable that contains the maximum number of
concurrent users that your version of Netware will permit.
See Also: IsMaxUsers?, IsUsers@Least?, SetNumberLoggedIn
Example:
:Start
@ECHO OFF
NOVBAT SetNumberLoggedIn Now
If ErrorLevel 255 goto Error
NOVBAT SetMaxUsers Max
If ErrorLevel 255 goto Error
ECHO ----------] Netware Usage Summary [------------
ECHO Max Allowed Users: %Max%, Now Logged In: %Now%
ECHO -------------------------------------------------
goto End
:Error
ECHO ---------------------------------------
ECHO NOVBAT ERROR: Please check your syntax.
ECHO ---------------------------------------
:End
______________________________________________________________________
SetMessageMode
______________________________________________________________________
Function: Sets environment variable to message receive mode.
Syntax: NOVBAT SetMessageMode [VarName]
Response Type: ENVIRONMENT
Remarks:
The Netware SEND command allows a user to send messages to
others. Users also have the ability to block incoming
messages. The SetMessageMode command will set an environ-
ment variable to the message receive mode the user is cur-
rently in. The modes are: "ALL" where all messages are
displayed, "SERVER" where only messages generated by a file
server are accepted, and "NONE" where all messages are
blocked.
See Also: IsMessageMode?
Example:
:Start
NOVBAT SetMessageMode Mode
If ErrorLevel 255 goto Error
If %Mode%==ALL goto All
If %Mode%==SERVER goto Server
ECHO ALL MESSAGES BLOCKED AT THIS TIME!
goto End
:All
ECHO ALL MESSAGES ARE BEING RECEIVED.
goto End
:Server
ECHO ONLY SERVER MESSAGES ARE BEING RECEIVED
goto End
:Error
ECHO NovBat ERROR: Alert your System Administrator.
:End
______________________________________________________________________
SetNetNum
______________________________________________________________________
Function: Sets environment variable to your network number.
Syntax: NOVBAT SetNetNum [VarName]
Response Type: ENVIRONMENT
Remarks:
The SetNetNum command creates an environment variable set to
the network number you are connected to. Many large compa-
nies have multiple nets with connections between them. In
this environment you might want to restrict users to access-
ing certain functions from some nets and not others.
See Also: IsNetNum?, IsNodeNum?, IsStationAddress?, SetNodeNum,
SetStationAddress
Example:
:Start
@ECHO OFF
NOVBAT SetNetNum Net
If ErrorLevel 255 goto Error
If %Net%=250 goto Sales
:NotOnSalesNet
ECHO Sorry, Access to this area is restricted to
ECHO workstations that are attached to the Sales Net!
goto End
:Sales
ECHO Access Approved.
SALES.EXE ;Application goes here
goto End
:Error
ECHO NovBat Error: Alert the System Administrator!
:End
______________________________________________________________________
SetNetwareVer
______________________________________________________________________
Function: Sets environment variable to Netware Version number.
Syntax: NOVBAT SetNetwareVer [VarName]
Response Type: ENVIRONMENT
Remarks:
In a large multi-lan environment it is possible to be at-
tached to several servers with multiple versions of Novell
Netware. There are times when it is useful to record the
version # of Netware you are currently using. The SetNetwa-
reVer command will store your Netware version number in an
environment variable. Please note that the format for the
version number is expressed without periods, therefore if
you are using Netware 3.11 the variable would be set to 311.
See Also: IsNetwareVer?
Example:
REM Selecting a software package based on Netware Version.
:Start
@ECHO OFF
NOVBAT SetNetwareVer NWVER
If %NWVER% = 311 goto Mail1
If %NWVER% = 215 goto Mail2
:Mail3
EMAIL ;Older EMAIL SYSTEM
goto End
:Mail1
EMAIL311 ;Email System for NW version 3.11
goto End
:Mail2
EMAIL215 ;Email System for NW version 2.15
:End
______________________________________________________________________
SetNodeNum
______________________________________________________________________
Function: Sets environment variable to station's node number.
Syntax: NOVBAT SetNodeNum [VarName]
Response Type: ENVIRONMENT
Remarks:
The SetNodeNum command creates an environment variable set
to the node number you are connected to. This can be very
useful for many network functions. By integrating this
environment variable into paths and filespecs, you can
develop common login and application batch files that per-
form uniquely for multiple users. While you do not need to
be logged in to use this command, you do need to have previ-
ously loaded your Net Shell.
See Also: IsNetNum?, IsNodeNum?, IsStationAddress?, SetNetNum,
SetStationAddress
Example:
:Start
@ECHO OFF
NOVBAT SetNodeNum Node
if %Node% = 2B goto VOICEMAIL ;station-2B is voicemail
if %Node% = A4 goto FAXSYSTEM ;station-A4 a Fax Server
:NormalUser
LOGIN
goto End
:VOICEMAIL
LOGIN VOICEMAIL
goto End
:FAXSYSTEM
LOGIN FAX
:End
______________________________________________________________________
SetNumberLoggedIn
______________________________________________________________________
Function: Sets environment variable to num of users logged in.
Syntax: NOVBAT SetNumberLoggedIn [VarName]
Response Type: ENVIRONMENT
Remarks:
In some environments it is preferable to keep some tasks
from occurring during periods of heavy network usage. The
SetNumberLoggedIn command will return an environment varia-
ble set to the number of users currently logged into a
server. This allows the system administrator to delay
execution of a given task until use is below a given thresh-
old. This command could also be used to log usage on an
ongoing basis.
See Also: IsUsersLoggedIn?, SetMaxUsers
Example:
:Start
@ECHO OFF
NOVBAT SetNunberLoggedIn USERS
If ErrorLevel 255 goto Error
NOVBAT SetMaxUsers Max
If ErrorLevel 255 goto Error
ECHO ----------------------------------------------
ECHO Currently %Users% logged in, Maximum is %Max%!
ECHO ----------------------------------------------
goto End
:Error
ECHO NovBat ERROR: Inform your System Administrator!
:End
SET Users=
SET Max=
______________________________________________________________________
SetPrimaryServer
______________________________________________________________________
Function: Sets an environment variable to Primary Server Name.
Syntax: NOVBAT SetPrimaryServer [VarName]
Response Type: ENVIRONMENT
Remarks:
This command reads the name of your primary server and
places it into an environment variable called "NOVBAT"
unless you have specified the optional VarName parameter in
which case the variable name will match the parameter.
Sufficient environment space needs to be available to avoid
an error. If enough environment space is not available
NovBat will display a warning indicating so and abort the
command without attempting to write the new data into the
environment. Any previous data in the environment with the
same name will be lost.
See Also: IsDefaultServer?, IsPrimaryServer?, SetDefaultServer
Example:
:Start
NOVBAT SetUserName Name
If ErrorLevel 255 goto Error
NOVBAT SetPrimaryServer
If ErrorLevel 255 goto Error
ECHO ------------------------------------------
ECHO User: %Name% - Primary Server: %NovBat%.
ECHO ------------------------------------------
set Name=
set NovBat=
goto End
:Error
ECHO NovBat Error: Alert your system supervisor!
:End
______________________________________________________________________
SetSizeOfGroup
______________________________________________________________________
Function: Sets environment variable to num of members of group.
Syntax: NOVBAT SetSizeOfGroup GroupName [VarName]
Response Type: ENVIRONMENT
Remarks:
This command reads the number of members of the group Group-
Name and places this number into the environment variable
indicated by VarName. This function can easily be used as a
meter for information about department sizes, workgroup
management, etc. You do not need to be a member of the
group that you are checking.
See Also: DoesGroupExist?
Example:
:START
@ECHO OFF
NOVBAT SetSizeOfGroup Everyone
NOVBAT SetSizeOfGroup SALES Sales
NOVBAT SetSizeOfGroup PRODUCTION Prod
NOVBAT SetSizeOfGroup SHIPPING Ship
NOVBAT SetSizeOfGroup ENGINEERING Engin
ECHO ---------------------------------------------
ECHO Current size of Various Departments:
ECHO ---------------------------------------------
ECHO SALES: %Sales%
ECHO PRODUCTION: %Prod%
ECHO SHIPPING: %Ship%
ECHO ENGINEERING: %Engin%
ECHO ---------------------------------------------
ECHO TOTAL: %NovBat%
ECHO ---------------------------------------------
:End
______________________________________________________________________
SetStationAddress
______________________________________________________________________
Function: Sets environment variable to network station address.
Syntax: NOVBAT SetStationAddress [VarName]
Response Type: ENVIRONMENT
Remarks:
This command returns the user's station address as an envi-
ronment string. The syntax for the station address is
"StationNum:NodeNum". The StationNum portion of the result
is returned in decimal and the NodeNum portion of the ad-
dress is returned in Hex. For example, if the user's work-
station is node number 200 (decimal) on network number 250
then the result returned by the SetStationAddress command
would be "250:C8".
See Also: IsNetNum?, IsNodeNum?, IsStationAddress?, SetNetNum,
SetNodeNum
Example:
:Start
@ECHO OFF
NOVBAT SetStationAddress Addr
If ErrorLevel 255 goto Error
NOVBAT SetUserName Name
If ErrorLevel 255 goto Error
ECHO ------------------------------------------------
ECHO You are user %Name%, currently logged into
ECHO workstation %Addr%.
ECHO ------------------------------------------------
goto End
:Error
ECHO NovBat Error: Alert your system supervisor!
:End
______________________________________________________________________
SetTotalEMS
______________________________________________________________________
Function: Sets environment variable to total amount of EMS RAM.
Syntax: NOVBAT SetTotalEMS [VarName]
Response Type: ENVIRONMENT
Remarks:
This command determines how many k of EMS memory exists in
the workstation and sets an environment variable according-
ly. This does not imply that all of this EMS is available.
Use SetFreeEMS to determine this. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: IsFreeEMS@Least?, IsTotalEMS@Least?, SetFreeEMS
Example:
:Start
@ECHO OFF
NOVBAT SetFreeEMS EMSAVAIL
NOVBAT SetTotalEMS EMSTOTAL
NOVBAT SetFreeRAM RAMAVAIL
NOVBAT SetTotalRAM RAMTOTAL
ECHO --------------] Memory Summary [---------------
ECHO EMS: %EMSTOTAL%, Avail: %EMSAVAIL%.
ECHO RAM: %RAMTOTAL%, Avail: %RAMTOTAL%.
ECHO -----------------------------------------------
set EMSAVAIL=
set EMSTOTAL=
set RAMAVAIL=
set RAMTOTAL=
:End
______________________________________________________________________
SetTotalRAM
______________________________________________________________________
Function: Sets environment variable to total amount of DOS RAM.
Syntax: NOVBAT SetTotalRAM [VarName]
Response Type: ENVIRONMENT
Remarks:
This command determines how much system RAM (Expressed in k)
exists in the workstation and sets an environment variable
accordingly. This does not imply that all of this memory is
unused and available. Use the SetFreeRAM command to deter-
mine this. SPECIAL NOTE: This command does not require
Netware and can be used in a non-network environment.
See Also: IsFreeRAM@Least?, IsTotalRAM@Least?, SetFreeRAM
Example:
:Start
@ECHO OFF
NOVBAT SetFreeEMS EMSAVAIL
NOVBAT SetTotalEMS EMSTOTAL
NOVBAT SetFreeRAM RAMAVAIL
NOVBAT SetTotalRAM RAMTOTAL
ECHO --------------] Memory Summary [---------------
ECHO EMS: %EMSTOTAL%, Avail: %EMSAVAIL%.
ECHO RAM: %RAMTOTAL%, Avail: %RAMTOTAL%.
ECHO -----------------------------------------------
set EMSAVAIL=
set EMSTOTAL=
set RAMAVAIL=
set RAMTOTAL=
:End
______________________________________________________________________
SetUserName
______________________________________________________________________
Function: Sets environment variable to your Netware user name.
Syntax: NOVBAT SetUserName [VarName]
Response Type: ENVIRONMENT
Remarks:
This command simply reads the user's name into an environ-
ment variable. Once in the environment, this information
can be used for many purposes. By incorporating this varia-
ble into batch files, you can have application automatically
route output or temporary files into a user's home directo-
ry, where they will not conflict with other users.
See Also: IsUserName?
Example:
:Start ;Assumed to be part of a login
@ECHO OFF ;batch file.
NOVBAT SetUserName Name
:End
rem * HOME.BAT - Takes user to home directory *
rem This Batch file assumes the user name will be found
rem in an environment variable called "NAME".
:Start
@ECHO OFF
F:
cd \home\%name%
:End
______________________________________________________________________
SetVideo
______________________________________________________________________
Function: Sets environment variable to graphics adapter type.
Syntax: NOVBAT SetVideo [VarName]
Response Type: ENVIRONMENT
Remarks:
Since workstations will have different display adapters, it
can be useful to store which adapter a system has for se-
lecting the correct software drivers for that system. This
command stores the name of the adapter into the specified
environment variable. The possible result strings are MGA
or HERC, CGA, MCGA, EGA, VGA, and PGA. SPECIAL NOTE: This
command does not require Netware and can be used in a non-
network environment.
See Also: IsVideo?
Example:
:Start ;Assumed to be part of a login
@ECHO OFF ;batch file.
NOVBAT SetVideo Vid
:End
rem * SPRDSHET.BAT - Uses VID var to enter a spreadsheet *
rem Batch file assumes users video adapter will be found
rem in an environment variable named "VID".
:Start
@ECHO OFF
F:
cd \PUBLIC\APPS\SPREAD\%Vid%
SPRDSHET
:END
______________________________________________________________________
APPENDIX A - NovBat Command Summary
----------------------------------------------------------
Command Parameters Result Type
----------------------------------------------------------
DoesGroupExist? <Group> ERRORLEVEL
DoesGroupHaveMember? <Group> <UserName> ERRORLEVEL
DoesUserExist? <UserName> ERRORLEVEL
IsAttached? <ServerName> ERRORLEVEL
IsDefaultServer? <ServerName> ERRORLEVEL
IsCPU? <8088, 286, 386, 486> ERRORLEVEL
IsDOSVer? <DosVer> {Less the <.>} ERRORLEVEL
IsDosVerSince? <DosVer> {Less the <.>} ERRORLEVEL
IsFreeEMS@Least? <Number> {Expressed in k} ERRORLEVEL
IsFreeRAM@Least? <Number> {Expressed in k} ERRORLEVEL
IsFullName? <FullUserName> ERRORLEVEL
IsMailID? <MailIDCode> ERRORLEVEL
IsMaxUsers? <Number> ERRORLEVEL
IsMessageMode? <ALL, SERVER, or NONE> ERRORLEVEL
IsNetNum? <Number> ERRORLEVEL
IsNetwareVer? <Number> {Less the <.>} ERRORLEVEL
IsNodeNum? <Number> ERRORLEVEL
IsPrimaryServer? <ServerName> ERRORLEVEL
IsSecurityEquiv? <Group/User> ERRORLEVEL
IsStationAddress? <Number> ERRORLEVEL
IsTotalEMS@Least? <Number> {Expressed in k} ERRORLEVEL
IsTotalRAM@Least? <Number> {Expressed in k} ERRORLEVEL
IsUserDuplicated? <UserName> ERRORLEVEL
IsUserLoggedIn? <UserName> ERRORLEVEL
IsUserName? <UserName> ERRORLEVEL
IsUsers@Least? <Number> ERRORLEVEL
IsVideo? <MGA, CGA, MCGA, EGA, VGA, or PGA> ERRORLEVEL
SetCPU = No Parameters = ENVIRONMENT
SetDefaultServer = No Parameters = ENVIRONMENT
SetDOSVer = No Parameters = ENVIRONMENT
SetFreeEMS = No Parameters = ENVIRONMENT
SetFreeRAM = No Parameters = ENVIRONMENT
SetFullName = No Parameters = ENVIRONMENT
SetMailID = No Parameters = ENVIRONMENT
SetMaxUsers = No Parameters = ENVIRONMENT
SetMessageMode = No Parameters = ENVIRONMENT
SetNetNum = No Parameters = ENVIRONMENT
SetNetwareVer = No Parameters = ENVIRONMENT
SetNodeNum = No Parameters = ENVIRONMENT
SetNumberLoggedIn = No Parameters = ENVIRONMENT
SetPrimaryServer = No Parameters = ENVIRONMENT
SetSizeOfGroup <Group> ENVIRONMENT
SetStationAddress = No Parameters = ENVIRONMENT
SetTotalEMS = No Parameters = ENVIRONMENT
SetTotalRAM = No Parameters = ENVIRONMENT
SetUserName = No Parameters = ENVIRONMENT
SetVideo = No Parameters = ENVIRONMENT
__________________________________________________________
╔═════════════════════╗
║ * I D L E B O O T * ║
╚═════════════════════╝
A Workstation Security Management Tool
IdleBoot is a security tool designed to assist network
administrators manage their networks by automatically removing
inactive workstations from the net. IdleBoot is a TSR that
identifies when a workstation is idle, then after a configurable
delay will force a network logoff and then reboot of the inac-
tive system. System idleness is configurable on a user-by-user
or an application-by-application basis by the lan administrator.
IdleBoot solves many network based problems. Security
holes caused when users abandon their logged in workstations are
eliminated reducing the likelihood of unauthorized access to
sensitive information or vandalism. Other problems resolved
include those caused by users who leave their workstations with
files open. Not only do open files prevent other users from
having access to the information they contain, inactive worksta-
tions can bottleneck a properly metered lan needlessly preventing
access to mission critical applications. Even the routine task
of backing up the lan can be adversely affected by these inactive
workstations.
Designed specifically for the networking environment and
developed in assembly language IdleBoot requires less than 2k
of system ram, and can be loaded into high memory. Many optional
features such as audible alarms, reboot at a specific time,
hot-key override, etc. are supported to provide maximum flexibil-
ity.
IdleBoot is licensed based upon the number of workstations
on your net. Prices are as follows:
╔═════════════════════════════╦══════════════════════════╗
║ Single User $29.95 ║ 50 User $249.95 ║
║ 10 User $99.95 ║ 100 User $309.95 ║
║ 20 User $179.95 ║ 250 User $349.95 ║
╚═════════════════════════════╩══════════════════════════╝
╔═══════════════════╗
║ ** N O V B A T ** ║
╚═══════════════════╝
A Novell Netware Batch File Enhancement Utility
The one common language that all system administrators have
to work in is the DOS batch file. But at its best the Batch file
is a very weak job control language. This problem is only ampli-
fied by the requirements of the network environment. Batch files
simply can't provide the power that todays System administrator
must have for developing smart network user and application
tasks. NovBat has solved this long-lived dilemma.
NovBat (short for "Novell Batch Enhancer") allows you to
develop "Network Smart" batch files. NovBat increases the power
of your batch files by giving you access into the Netware operat-
ing system. Now you can develop login scripts that are sensitive
to the conditions of the network, the workstation, and the user.
With NovBat you can easily interrogate the network for informa-
tion that previously required using a plethora of third party
utilities.
NovBat supports commands like:
IsUserLoggedIn? Is "BOB" currently logged into the net?
IsMemberOfGroup? Is "BOB" a member of the "SALES" GROUP?
User@Con? What connection is BOB at?
NodeNum? What Node # am I logged into?
IsFreeEMS@Least? Do I have at least "300k" of unused EMS?
SetDOSVer? What Version of DOS am I using?
IsVideo? What Graphics Adapter am I using?
IsDefaultServer? Is my server the "SALES_SERVER"?
NovBat contains over 50 netware-based commands that help
the system administrator/installer develop powerful batch files
quickly. NovBat returns information to your batch file through
use of the ERRORLEVEL function and environment variables.
NovBat is licensed per fileserver. You need to purchase a
license for each fileserver on your network. NovBat prices are as
follows:
╔══════════════════════════════╦══════════════════════════════╗
║ 1 Server $99.95 ║ 31-50 Servers $69.95/Server ║
║ 2-10 Servers $89.95/Server ║ 51-99 Servers $79.95/Server ║
║ 11-30 Servers $79.95/Server ║ 100 Servers+ $49.95/Server ║
╚══════════════════════════════╩══════════════════════════════╝
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█▀█▀█▀▀█▀▀█▀▀▀█▀▀▀█▀▀▀ H O R I Z O N S ▀▀▀▀█▀▀▀█▀▀▀█▀▀█▀▀█▀█▀█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Consulting ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
≡ 1432 E. Commercial Street ─ Springfield, MO 65803 USA ≡
≡ Phone:(417) 839-2174, Fax:(417) 831-1329, BBS:(417) 831-9140 ≡
┌────────────────────────────────────────────────────────────┐
│ ≡ NovBat - Order Form ≡ │
└────────────────────────────────────────────────────────────┘
Please send me The commercial release of NovBat. I understand
that this version does not contain the intermittent evaluation
prompt screen, or a built in time-out.
=============================================================
Name: ________________________________________________
Company: ________________________________________________
Title: ________________________________________________
Address: ________________________________________________
City/St/Zip: ________________________________________________
Phone: (_______) _____________________ Ext: ___________
Fax: (_______) _____________________
Comments: _____________________________________________
_____________________________________________
____ Single Server NovBat - $99.95
____ Site License: ______ Servers (See Chart) $_________
Shipping USA - $2.00 + Shipping $_________
CANADA - $3.00
OVERSEAS - $6.00 Total $____________
Credit Card #: ____________________ Expiration Date: ________
Master Card ___ Visa ___ Discover ___ COD (Add $7) ____
For Faster Service, You may can Fax us this order form.
Purchase Orders accepted after credit approval.
╔═════════════════════════════════════════════════════════════╗
║ ≡ NOVBAT Network Site License Price Schedule ≡ ║
╠══════════════════════════════╦══════════════════════════════╣
║ 1 Server $99.95 ║ 31-50 Servers $69.95/Server ║
║ 2-10 Servers $89.95/Server ║ 51-99 Servers $79.95/Server ║
║ 11-30 Servers $79.95/Server ║ 100 Servers+ $49.95/Server ║
╚══════════════════════════════╩══════════════════════════════╝
For licenses greater than 250 Servers, call for a price quote.
──────────────────────────────────────────────────────────────
Missouri residents add 5.975% sales tax.
Unless otherwise indicated, 3 1/2 format is provided.